Culminating Project
❓❓❓
Due: June 19th (HARD DEADLINE - CAN’T EXTEND)
For our final project together, you almost have total freedom of choice! You can even pick the name of the culminating project!
The goals of the project are for you to:
For this project, you will apply what you have learned throughout the course to create the back-end of an application. You will have to teach yourself how to code the front-end.
You will have two options for how to achieve this:
You will be allowed to freely select what you build and whether you work with a partner or not. If you decide to work with a partner, you may also select who you would like to work with. However, the more people on the project increases the scale of your program!
Project Stages
Your project will be divided in 3 stages, each with different deadlines.
Daily Log
As you work on your culminating project, you are required to log your daily progress. A template will be provided for those working individually and in pairs. The daily log will be graded as part of your final mark. You will be required to submit this as a Google Doc. Other formats will not be accepted. Assume the change history will be checked.
Idea Selection
It is also your responsibility to select something that can be completed before the hard deadline of June 19th. I will be there to give feedback and suggestions on the scale of your idea at the proposal stage! Ultimately you will make the final decision on what you build though. You may not pick to build something you have already built in the past.
Here are some ideas that are sufficient and some ideas that are insufficient, to give you an idea of an appropriate scale for this task.
Ideas that are sufficient Ideas that are too simple
|
|
|
I am genuinely very excited to see what you come up with for this project! 🙌
Code Requirements
Below you will find the requirements for your project. Each person working on the project will need to fulfill this checklist.
(For example, if the checklist says 1 while loop, an individual will have to create a minimum of 1 while loop. A set of partners will have to create a minimum of 2 while loops.)
Minimum requirements per individual:
|
|
|
Grading Scheme
Each deliverable will be given a portion of your final culminating mark.
Deliverable |
Percentage of Final |
Deliverable |
Percentage of Final |
Proposal Document |
20% |
Daily log |
15% |
Check-in Meeting |
10% |
Coded Application |
55% |
Remember that the culminating mark will make up 15% of your overall mark in our course.
Proposal
Criteria |
|
Total points: /20 |
Check-in Meeting
Criteria |
|
Total points: /10 |
Daily Log
Criteria |
|
Total points: /20 |
Coded Application
The rubric below was created with all 3 ICS4U classes, based on our class discussions on how the application should be evaluated.
Each criteria is out of 100. The final mark will average all criteria below as 95% of the final mark, with the remaining 5% reserved for creativity and ambition.
Criteria |
Deduction |
Functionality, Debugging, Compilation |
(-0) No bugs or logic errors. (-5) Edge cases with rare crashes with a non-intended input. (-10) Common, minor bugs. (-20) Errors or crashes during expected input. (-50) Does not run at all, but has code that attempts to address proposal (-100) No program handed in. |
Meeting requirements |
(-0) Meets the whole checklist. (-2) Missing 1 requirement (possibly with reason), made up by another feature. (-10) Missing 1-2 requirements. (-30) Missing more than 2 requirements, but includes some. (-50) No requirements met, but code exists. (-100) No program handed in. |
Modularity |
(-0) No violations of SRP. (-2) Some evidence of SRP, but there are few instances where the structure could be more modular. (-10) Some overly complex methods, but has methods and classes. (-20) No classes. (-40+1) No methods, but +1 for respect. (-100) No program handed in. |
Readability (Variable naming, javadocs, comments, white-spacing) |
(-0) Informative variable names with a purpose, not overly commented, proper method and class headers. (-2) Commented, but not properly styled. (-5) Some inconsistencies in naming, some uncommented portions of code. (-15) No comments, but the code is readable. (-30) Code is messy and confusing. (-50) Code is unreadable. (-100) No program handed in. |
Criteria |
Deduction |
User friendliness |
(-0) Any instructions are clear, design is intuitive, clear what input is expected, looks great. (-2) All of the above, but the design is basic. (-10) Users are able to navigate the program on their own, but there is confusion at times. (-25) User requires clarification from the programmer to understand how to use the program. (-50) Both user and programmer cannot figure out how to use the program. (-90) Console based. |
Criteria |
Deduction |
Creativity, Ambition (5% of overall coded program mark) |
(-0%) If the project is an adaptation of an existing idea, additional coded features are included. (-5%) Program doesn’t have any additional coded features that display creativity or ambition. |